package com.ds.lens.data.service.dao.entity;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Map;

/**
 * <p>LensMonitorDefine实体类</p>
 * <p>
 * <p>
 * Date:2019-11-05
 *
 * @author WeiShaoying
 * @since 1.0.0
 */
@Setter
@Getter
public class LensMonitorDefine implements Serializable {
    /**
     * fixed serialVersionUID
     */
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 操作符：1大于、2大于等于、3小于、4小于等于
     */
    private Integer operator;

    /**
     * 阈值类型0至少 1全部
     */
    private Integer thresholdType;

    /**
     * 阈值数量
     */
    private Integer thresholdNumber;

    /**
     * 窗口类型：1翻滚窗口、2滑动窗口
     */
    private Integer windowType;

    /**
     * 窗口时间
     */
    private Integer windowTime;

    /**
     * 在…...的期间
     */
    private Integer during;

    /**
     * 阈值级别
     */
    private Map<String, Object> thresholdLevel;

    /**
     * 通知数据丢失
     */
    private Boolean notifyDataMissing;

    /**
     * 延迟计算时间
     */
    private Integer delayTime;

    /**
     * 监控id
     */
    private Long monitorId;

    /**
     * 检测范围
     */
    private Map<String, Object> scope;

    /**
     * 指标名称
     */
    private String metricName;

    /**
     * 指标过滤条件
     */
    private Map<String, Object> metricFilter;

    /**
     * 指标聚合
     */
    private Integer metricAggr;

    /**
     * 指标分组
     */
    private String metricBy;
}
